classList.php
<?php
// if (false){
// class WhateverHandler {
//
// public function verbClassList($className, ...$tags){
// $Class = new MagicReflectionClass($className);
// require(__DIR__.'/classList.php');
// }
// }
//
// class MagicReflectionClass{
//
// protected $ref;
//
// public function __construct($className){
// $this->ref = new \ReflectionClass($className);
// }
//
// public function getConstants(){
// $constList = [];
// $constantRefList = $ref->getConstants();
// foreach ($constantRefList as $cr){
// $docblock = \Utility\DocBlocks::parseDocBlock($cr->getDocComments());
// $const = [
// 'docblock'=>$docblock,
// 'definition'=>$cr->getDefinition(),
// 'description'=>$docblock->description,
// ];
// $constList[$cr->getName()] = (object)$const;
// }
// return $constList;
// }
//
// public function __get($prop){
// $method = 'get'.ucfirst($prop);
// return $this->$method();
// }
// }
// }
if ($Class->type=='class')$type = 'class';
else $type = 'trait';
// echo "\n\n\n-----------\n\n";
// var_dump($Class);
// exit;
$class_name = property_exists($Class,'fqn') ? $Class->fqn : $Class->name;
?>
# <?= $type .' '. $class_name ?>
<?="\n".($Class->docblock['description']??'')?>
## Constants
<?php
foreach ($Class->consts??[] as $constant){
$constant = (object)$constant;
$def = $constant->definition;
$descript = $constant->docblock['description']??'';
echo "- `${def}` ${descript}\n";
}
?>
## Properties
<?php
foreach ($Class->properties??[] as $prop){
$prop = (object)$prop;
$def = $prop->declaration;
$descript = $prop->docblock['description']??'';
echo "- `${def}` ${descript}\n";
}
?>
## Methods
<?php
foreach ($Class->methods??[] as $method){
// var_dump($method);
// exit;
$method = (object)$method;
$def = $method->declaration;
// $descript = $method->description;
$descript = $method->docblock['description']??'';
// var_dump($method->docblock);
// if (is_array($method->docblock));
// exit;
echo "- `${def}` ${descript}\n";
}
?>
<?php
//@debug
// var_dump($Class);
// exit;
// return;
?>
<?php
// static props/functions are not yet separated out by the lexer
return;
?>
## Static Properties
<?php
foreach ($Class->staticProps??[] as $prop){
$def = $prop->definition;
$descript = $prop->description;
echo "- `${def}` ${descript}\n";
}
?>
## Static functions
<?php
foreach ($Class->staticFunctions??[] as $func){
$def = $func->definition;
$descript = $func->description;
echo "- `${def}` ${descript}\n";
}
?>
<?php
// print_r($Class);
?>